var express = require("express");
var uunewid = require("uuid");
var router = express.Router();
const { checkAuth } = require("../utils/utils");
var constants = require("../utils/constants");
let log = require("cf-nodejs-logging-support");
log.setLoggingLevel("info");
const { ohana } = require("ohana-node-orm");
function checkData(res, data) {
  if (data == null) {
    res.send(500);
  }
}


const tableName = "COMPANY_PORTRAITS";
const questionnaireTable="QUESTIONNAIRES";
const questionTable = "QUESTIONS"


router.get("/", function (req, res, next) {
  // #swagger.tags = ['企业标签']
  // #swagger.summary = '企业标签'
  /* #swagger.security = [{
               "JiangduJWT": []
  }] */
  /* #swagger.parameters['COMPANY_ID'] = {
    description: "String",
    required: false,
} */
//   const user = checkAuth(req.user, constants.BASICAUTH);
//   if (!user.authCheck) {
//     res.sendStatus(403);
//     return;
//   }
  let { COMPANY_ID } = req.query;
  console.log(COMPANY_ID)
  if (COMPANY_ID == undefined) {
    COMPANY_ID = {};
  } else {
    COMPANY_ID = { USER_ID: COMPANY_ID }
  }
  getData(COMPANY_ID)
    .then((result) => {
      res.send(result);
    })
    .catch((err) => {
      log.error(err);
      res.status(500).send(err);
    });
});

async function getData(data) {

  const user = new ohana(tableName);
  try {
    const question = await user.raw("select * from "+questionTable+" where ID = 'assessment8'");
    const result =await user.raw("select ANSWERS from "+questionnaireTable+" where ASSESSMENT_NAME='assessment8' and USER_ID ='"+data.USER_ID+"'");
    const answerData= JSON.parse(result[0].ANSWERS);
    const questionData= JSON.parse(question[0].QUESTIONS);
    let tags=[];
    Object.keys(answerData).forEach(function(value,index){
        const type = typeof answerData[value].A;
        // console.log(questionData.QUESTIONS[index].CONDITIONTYPE);

        // console.log(questionData.QUESTIONS[index].A[answerData[value].A]);
        if(type=='object'){
          var tagValues=[];
          answerData[value].A.map(one=>{
            tagValues.push(questionData.QUESTIONS[index].A[one])
          })
          tags.push({
            tag_name:questionData.QUESTIONS[index].CONDITIONTYPE,
            tag_value:tagValues
        })
          // questionData.QUESTIONS[index].A.map((one,index)=>{s
          //     if(index==answerData[value].A){

          //  }
                   
          //   })

          // const answerLength=questionData.QUESTIONS[index].A[answerData[value].A].length;
          // if(answerLength>0)
          // {
          //   questionData.QUESTIONS[index].A[answerData[value].A].map(one=>{
          //     tags.push({
          //       tag_name:questionData.QUESTIONS[index].CONDITIONTYPE,
          //       tag_value:one
          //   })
          //   })
          // }

        }else
        {        
          // console.log(questionData.QUESTIONS[index].A[answerData[value].A])
          tags.push({
              tag_name:questionData.QUESTIONS[index].CONDITIONTYPE,
              tag_value:questionData.QUESTIONS[index].A[answerData[value].A]
          })

        }
        // console.log(type);

    })
    var companyPortrait={
        USER_ID:data.USER_ID,
        TAGS:tags
    }
    return companyPortrait;
  } catch (error) {
console.log(error);
    return -1;
  }

}
// router.post("/", function (req, res, next) {
//   // #swagger.tags = ['政策小助手']
//   // #swagger.summary = '创建政策小助手'
//   /* #swagger.security = [{
//                "JiangduJWT": []
//   }] */
//   /*	#swagger.requestBody = {
//               required: true,
//               content: {
//                   "application/json": {
//                       schema: {
//                           $ref: "#/definitions/policyhelp_add"
//                       }  
                  
                  
                  
//                     },
//               }
//       } */
//   const { data } = req.body;
//   const user = checkAuth(req.user, constants.FINAUTH);
//   if (!user.authCheck) {
//     res.sendStatus(403);
//     return;
//   }
//   data.ID = uunewid.v4();
//   insertData(data)
//     .then((result) => {
//       if (result == 1) {
//         res.sendStatus(200);
//       } else {
//         res.send(400);
//       }
//     })
//     .catch((err) => {
//       log.error(err);
//       res.status(500).send(err);
//     });
// });

// async function insertData(body) {
//   const user = new ohana(tableName);
//   try {
//     const result = await user.insert(body);
//     return result;
//   } catch (error) {
//     log.error(error);
//     return -1;
//   }
// }

// /*delete something*/
// router.delete("/", function (req, res, next) {
//   // #swagger.tags = ['政策小助手']
//   // #swagger.summary = '删除政策小助手'
//   /* #swagger.security = [{
//                "JiangduJWT": []
//   }] */
//   /*	#swagger.requestBody = {
//               required: true,
//               content: {
//                   "application/json": {
//                       schema: {
//                           $ref: "#/definitions/fin_delete"
//                       }  
//                   },
//               }
//       } */
//   checkData(res, req.body.data);
//   const { data } = req.body;
//   deleteFin(data)
//     .then((result) => {
//       if (result == 1) {
//         res.sendStatus(200);
//       } else {
//         res.send(400);
//       }
//     })
//     .catch((err) => {
//       log.error(err);
//       res.status(500).send(err);
//     });
// });
// /// fin tags
module.exports = router;
